#pragma once 

enum Exit_code
{
    OK = 0,
    SOCK_ERROR,
    BIND_ERROR,
    LISTEN_ERROR,
    ACCEPT_ERROR,
    FAIL_ERROR,
    ARGV_ERROR,
    CONNECT_ERROR,
    FORK_ERROR,
    CLOSE_ERROR
};

// 防止子类拷贝。
// 拷贝子类肯定也要拷贝它的父类，如果父类不能拷贝呢？
class Nocopy
{
public:
    Nocopy(){}
    ~Nocopy(){}
    Nocopy(const Nocopy& self) = delete;
    Nocopy& operator = (const Nocopy& self) = delete;
};